function printMatrix(matrix)
{
    // write code here
    // 首先初始化矩阵的上下左右边界的坐标
    if(matrix === []) return []
    var top = 0
    var bottom = matrix.length - 1
    var left = 0
    var right = matrix[0] - 1
    // 接下来进入一个循环
    // 第一步从最左边 遍历到最右边
    var arr = []
    while(true){
        // 从左向右的过程
        for(var i = left; i <= right; i++){
            // matrix[top][i] 就是遍历的每一行的数字 保持不变的是横坐标 就是top
            arr.push(matrix[top][i])
        }
        // 遍历完之后 就让top++ 行下移
        // 判断一下 top > bottom 就退出循环
        top++
        if(top > bottom) break
        // 从上到下的过程
        for(var i = top; i <= bottom; i++){
            // matrix[top][i] 就是遍历的每一行的数字 保存不变的是纵坐标 就是right
            arr.push(matrix[i][right])
        }
        // 遍历完成 列左移
        right--
        if(left > right) break
        // 从右向左
        for(var i = right; i >= left; i--){
            // matrix[top][i] 就是遍历的每一行的数字 保持不变的就是横坐标 就是bottom
            arr.push(matrix[bottom][i])
        }
        // 遍历完成 行上移
        bottom--
        if(top > bottom) break
        // 从下向上
        for(var i = bottom; i >= top; i--){
            // matrix[top][i] 就是遍历的每一行的数字 保持不变的就是纵坐标 就是left
            arr.push(matrix[i][left])
        }
        // 遍历完成 列右移
        left++
        if(left > right) break
    }
    return arr
}
module.exports = {
    printMatrix : printMatrix
};